SRCDIR=src
BINDIR=bin
INCDIR=inc

CC=gcc
CFLAGS=-I $(INCDIR) -Wall -ansi -pedantic
LDFLAGS=-I $(INCDIR) -I /usr/include
GTKFLAGS=`pkg-config --libs --cflags gtk+-2.0` 
MIDFLAGS=`pkg-config --cflags --libs alsa`
EXEC=midi

all: $(EXEC)

midi: $(BINDIR)/midi.o $(BINDIR)/windows.o $(BINDIR)/main.o 
	$(CC) -o $@ $^ $(GTKFLAGS) $(MIDFLAGS) $(LDFLAGS)

$(BINDIR)/windows.o: $(INCDIR)/midi.h $(INCDIR)/windows.h
	$(CC) -o $@ -c $(SRCDIR)/windows.c $(GTKFLAGS) $(MIDFLAGS) $(CFLAGS)

$(BINDIR)/midi.o : $(INCDIR)/midi.h
	$(CC) -o $@ -c $(SRCDIR)/midi.c $(CFLAGS)
	
$(BINDIR)/main.o : $(INCDIR)/windows.h
	$(CC) -o $@ -c $(SRCDIR)/main.c $(GTKFLAGS) $(MIDFLAGS) $(CFLAGS)

clean:
	rm $(BINDIR)/*.o
realclean: clean
	rm $(EXEC)
